博客
关于我
PHP学习(二)
阅读量:134 次
发布时间:2019-02-26

本文共 1490 字,大约阅读时间需要 4 分钟。

魔术变量

魔术变量是PHP中一种特殊的变量,它们可以从代码中消失或改变其值,具体取决于它们的使用环境。这些变量在开发中非常有用,因为它们可以提供关于代码执行环境的信息。

以下是常见的魔术变量及其作用:

  • LINE

    表示当前文件的行号。

  • FILE

    表示文件的完整路径和文件名。

  • DIR

    表示文件所在的目录。

  • FUNCTION

    表示当前函数的名称。

  • CLASS

    表示当前类的名称。

  • TRAIT

    表示当前trait的名称。

  • METHOD

    表示当前方法的名称。

  • NAMESPACE

    表示当前命名空间的名称。

命名空间

在PHP中,命名空间用于组织代码,避免全局冲突。命名空间必须在文件的最开始部分定义,不能有其他代码出现在其前面。

如何定义命名空间

namespace MyProject {    const CONNECT_OK = 1;    class Connection {        /* ... */    }    function connect() {        /* ... */    }}

如果需要定义多个命名空间,可以使用如下方式:

namespace MyProject {    // ... }namespace {    session_start();    $a = MyProject\connect();    echo MyProject\Connection::start();}

注意:在定义命名空间之前,唯一允许的代码是declare语句,用于定义编码方式或包含非命名空间代码。

declare(encoding='UTF-8');namespace MyProject;

面向对象

PHP支持面向对象编程,通过类、Trait和Interface定义对象。

类的定义

abstract class fruits {    const ft = "水果";    protected $name;    public static $amount;    abstract protected function buying;    function __construct() {        self::$amount = 6;    }    function eaten() {        self::$amount++;        echo self::$amount . "
"; } function __destruct() { echo "fruits被销毁" . "
"; }}final class apple extends fruits { function __construct() { self::$amount = 6; } protected function buying() { return "I buy an apple"; } function eaten() { parent::eaten(); echo "我吃了一个苹果" . "
"; }}$apple = new apple();echo $apple::$amount . "
";echo apple::$amount . "
";echo $apple::ft . "
";echo apple::ft . "
";$apple->eaten();

转载地址:http://gtkf.baihongyu.com/

你可能感兴趣的文章
OpenCV与AI深度学习 | 实战 | 基于OpenCV和K-Means聚类实现颜色分割(步骤 + 代码)
查看>>
OpenCV与AI深度学习 | 实战 | 基于YoloV5和Mask RCNN实现汽车表面划痕检测(步骤 + 代码)
查看>>
OpenCV与AI深度学习 | 实战 | 基于YOLOv9+SAM实现动态目标检测和分割(步骤 + 代码)
查看>>
OpenCV与AI深度学习 | 实战 | 基于YOLOv9和OpenCV实现车辆跟踪计数(步骤 + 源码)
查看>>
OpenCV与AI深度学习 | 实战 | 文本图片去水印--同时保持文本原始色彩(附源码)
查看>>
OpenCV与AI深度学习 | 实战—使用YOLOv8图像分割实现路面坑洞检测(步骤 + 代码)
查看>>
OpenCV与AI深度学习 | 实战篇——基于YOLOv8和OpenCV实现车速检测(详细步骤 + 代码)
查看>>
OpenCV与AI深度学习 | 实战|OpenCV实时弯道检测(详细步骤+源码)
查看>>
OpenCV与AI深度学习 | 实践教程|旋转目标检测模型-TensorRT 部署(C++)
查看>>
OpenCV与AI深度学习 | 工业缺陷检测中数据标注需要注意的几个事项
查看>>
OpenCV与AI深度学习 | 干货 | 深度学习模型训练和部署的基本步骤
查看>>
OpenCV与AI深度学习 | 手把手教你用Python和OpenCV搭建一个半自动标注工具(详细步骤 + 源码)
查看>>
OpenCV与AI深度学习 | 水下检测+扩散模型:或成明年CVPR最大惊喜!
查看>>
OpenCV与AI深度学习 | 深度学习检测小目标常用方法
查看>>
OpenCV与AI深度学习 | 超越YOLOv10/11、RT-DETRv2/3!中科大D-FINE重新定义边界框回归任务
查看>>
OpenCV与AI深度学习 | 高效开源的OCR工具:Surya-OCR介绍与使用
查看>>
OpenCV与AI深度学习|16个含源码和数据集的计算机视觉实战项目(建议收藏!)
查看>>
Opencv中KNN背景分割器
查看>>
OpenCV中基于已知相机方向的透视变形
查看>>
OpenCV中的监督学习
查看>>